﻿///***************************************************************
/// 시  스  템 : Updms.Common.Inc
/// 단위시스템 : INC
/// 계      층 : Presentation Layer
/// 프로그램명 : NaverMapEx
/// 파  일  명 : NaverMapEx.aspx.cs
/// 설      명 : 네이버 맵(확장)
///***************************************************************
/// 수정ID 일자       이름     내용
///---------------------------------------------------------------
/// CH001  2014-01-22 송시명   최초 작성
///***************************************************************
using System;
using System.Data;
using System.Web.UI;

using Base.Dac;

namespace Updms.Common.Inc
{
	public partial class NaverMapEx : System.Web.UI.Page
	{
		#region 전역영역

		protected static string x = "300068";
		protected static string y = "543252";
		protected static string mode = "0";//0:읽기, 1:부모창으로 리턴, 2:여러개의 마커표시
		protected static string ctl_x = "txt_x"; //부모창의 x콘트롤명
		protected static string ctl_y = "txt_y"; //부모창의 y콘트롤명

		Global global = new Global();

		#endregion

		#region Page_Load, OnPageLoad

		protected void Page_Load(object sender, EventArgs e)
		{
			if (!Page.IsPostBack)
			{
				// 최초 화면 로딩시 처리해야 할 부분
				OnPageLoad();
			}
		}

		// OnPageLoad
		private void OnPageLoad()
		{
			SetCheckedMapInfo();
			SetSearchParameter();
		}

		#endregion

		#region SetSearchParameter

		//검색파라미터
		private void SetSearchParameter()
		{
			if (Request.QueryString["x"] != null)
			{
				x = Request.QueryString["x"].ToString();
			}

			if (Request.QueryString["y"] != null)
			{
				y = Request.QueryString["y"].ToString();
			}

			if (Request.QueryString["mode"] != null)
			{
				mode = Request.QueryString["mode"].ToString();
			}

			if (Request.QueryString["ctl_x"] != null)
			{
				ctl_x = Request.QueryString["ctl_x"].ToString();
			}

			if (Request.QueryString["ctl_y"] != null)
			{
				ctl_y = Request.QueryString["ctl_y"].ToString();
			}
		}

		#endregion

		#region Properties

		public String X()
		{
			return x;
		}

		public String Y()
		{
			return y;
		}

		public String MODE()
		{
			return mode;
		}

		public String CTL_X()
		{
			return ctl_x;
		}

		public String CTL_Y()
		{
			return ctl_y;
		}

		#endregion

		#region 마스터 Method (SetCheckedMapInfo, SetMarker)

		//지도정보
		private void SetCheckedMapInfo()
		{
			DataSet lo_ds = new DataSet();
			lo_ds.Merge(global.GetCheckedMapInfo());

			ddl_search_contents.Items.Clear();
			ddl_search_contents.DataSource = lo_ds;
			ddl_search_contents.DataMember = "UPDMS_CRD_ITEM_BIZ";
			ddl_search_contents.DataTextField = "Text";
			ddl_search_contents.DataValueField = "Value"; //위도|경도
			ddl_search_contents.DataBind();
		}

		//선택된 값으로 마커설정
		private void SetMarker(string xy)
		{
			//위도|경도를 분리
			if (xy.Contains("|"))
			{
				string [] aXy = xy.Split('|');
				if (aXy.Length > 0)
				{
					//javascript 함수호출
					ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), null, "fncSetMarker(" + aXy[0] + ", " + aXy[1] + ");", true);
				}
			}
		}

		protected void ddl_search_contents_SelectedIndexChanged(object sender, EventArgs e)
		{
			SetMarker(ddl_search_contents.SelectedValue);
		}

		#endregion
	}
}
